home *** CD-ROM | disk | FTP | other *** search
Text File | 1992-07-08 | 78.8 KB | 1,964 lines |
-
-
-
-
-
-
- Network Working Group J. Davin
- Request for Comments: 1351 MIT Laboratory for Computer Science
- J. Galvin
- Trusted Information Systems, Inc.
- K. McCloghrie
- Hughes LAN Systems, Inc.
- July 1992
-
-
- SNMP Administrative Model
-
- Status of this Memo
-
- This document specifies an IAB standards track protocol for the
- Internet community, and requests discussion and suggestions for
- improvements. Please refer to the current edition of the "IAB
- Official Protocol Standards" for the standardization state and status
- of this protocol. Distribution of this memo is unlimited.
-
- Table of Contents
-
- 1. Abstract . . . . . . . . . . . . . . . . . . . . . . . . . 2
- 2. Introduction . . . . . . . . . . . . . . . . . . . . . . . 2
- 3. Elements of the Model . . . . . . . . . . . . . . . . . . . 2
- 3.1 SNMP Party . . . . . . . . . . . . . . . . . . . . . . . . 2
- 3.2 SNMP Protocol Entity . . . . . . . . . . . . . . . . . . . 6
- 3.3 SNMP Management Station . . . . . . . . . . . . . . . . . . 6
- 3.4 SNMP Agent . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.5 View Subtree . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.6 MIB View . . . . . . . . . . . . . . . . . . . . . . . . . 7
- 3.7 SNMP Management Communication . . . . . . . . . . . . . . . 8
- 3.8 SNMP Authenticated Management Communication . . . . . . . . 9
- 3.9 SNMP Private Management Communication . . . . . . . . . . 9
- 3.10 SNMP Management Communication Class . . . . . . . . . . . . 10
- 3.11 SNMP Access Control Policy . . . . . . . . . . . . . . . . 11
- 3.12 SNMP Proxy Party . . . . . . . . . . . . . . . . . . . . . 12
- 3.13 Procedures . . . . . . . . . . . . . . . . . . . . . . . . 13
- 3.13.1 Generating a Request . . . . . . . . . . . . . . . . . . 13
- 3.13.2 Processing a Received Communication . . . . . . . . . . . 15
- 3.13.3 Generating a Response . . . . . . . . . . . . . . . . . . 17
- 4. Application of the Model . . . . . . . . . . . . . . . . . 17
- 4.1 Non-Secure Minimal Agent Configuration . . . . . . . . . . 17
- 4.2 Secure Minimal Agent Configuration . . . . . . . . . . . . 20
- 4.3 Proxy Configuration . . . . . . . . . . . . . . . . . . . 21
- 4.3.1 Foreign Proxy Configuration . . . . . . . . . . . . . . . 22
- 4.3.2 Native Proxy Configuration . . . . . . . . . . . . . . . 25
- 4.4 Public Key Configuration . . . . . . . . . . . . . . . . . 27
- 4.5 MIB View Configurations . . . . . . . . . . . . . . . . . . 29
-
-
-
- Davin, Galvin, & McCloghrie [Page 1]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 5. Compatibility . . . . . . . . . . . . . . . . . . . . . . . 33
- 6. Security Considerations . . . . . . . . . . . . . . . . . . 33
- 7. References . . . . . . . . . . . . . . . . . . . . . . . .
- 8. Authors' Addresses . . . . . . . . . . . . . . . . . . . . 34
-
- 1. Abstract
-
- This memo presents an elaboration of the SNMP administrative model
- set forth in [1]. This model provides a unified conceptual basis for
- administering SNMP protocol entities to support
-
- o authentication and integrity,
-
- o privacy,
-
- o access control, and
-
- o the cooperation of multiple protocol entities.
-
- Please send comments to the SNMP Security Developers mailing list
- (snmp-sec-dev@tis.com).
-
- 2. Introduction
-
- This memo presents an elaboration of the SNMP administrative model
- set forth in [1]. It describes how the elaborated administrative
- model is applied to realize effective network management in a variety
- of configurations and environments.
-
- The model described here entails the use of distinct identities for
- peers that exchange SNMP messages. Thus, it represents a departure
- from the community-based administrative model set forth in [1]. By
- unambiguously identifying the source and intended recipient of each
- SNMP message, this new strategy improves upon the historical
- community scheme both by supporting a more convenient access control
- model and allowing for effective use of asymmetric (public key)
- security protocols in the future.
-
- 3. Elements of the Model
-
- 3.1 SNMP Party
-
- A SNMP party is a conceptual, virtual execution context whose
- operation is restricted (for security or other purposes) to an
- administratively defined subset of all possible operations of a
- particular SNMP protocol entity (see Section 3.2). Whenever a SNMP
- protocol entity processes a SNMP message, it does so by acting as a
- SNMP party and is thereby restricted to the set of operations defined
-
-
-
- Davin, Galvin, & McCloghrie [Page 2]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- for that party. The set of possible operations specified for a SNMP
- party may be overlapping or disjoint with respect to the sets of
- other SNMP parties; it may also be a proper or improper subset of all
- possible operations of the SNMP protocol entity.
-
- Architecturally, each SNMP party comprises
-
- o a single, unique party identity,
-
- o a single authentication protocol and associated
- parameters by which all protocol messages originated by
- the party are authenticated as to origin and integrity,
-
- o a single privacy protocol and associated parameters by
- which all protocol messages received by the party are
- protected from disclosure,
-
- o a single MIB view (see Section 3.6) to which all
- management operations performed by the party are
- applied, and
-
- o a logical network location at which the party executes,
- characterized by a transport protocol domain and
- transport addressing information.
-
- Conceptually, each SNMP party may be represented by an ASN.1 value
- with the following syntax:
-
-
- SnmpParty ::= SEQUENCE {
- partyIdentity
- OBJECT IDENTIFIER,
- partyTDomain
- OBJECT IDENTIFIER,
- partyTAddr
- OCTET STRING,
- partyProxyFor
- OBJECT IDENTIFIER,
- partyMaxMessageSize
- INTEGER,
- partyAuthProtocol
- OBJECT IDENTIFIER,
- partyAuthClock
- INTEGER,
- partyAuthLastMsg
- INTEGER,
- partyAuthNonce
- INTEGER,
-
-
-
- Davin, Galvin, & McCloghrie [Page 3]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- partyAuthPrivate
- OCTET STRING,
- partyAuthPublic
- OCTET STRING,
- partyAuthLifetime
- INTEGER,
- partyPrivProtocol
- OBJECT IDENTIFIER,
- partyPrivPrivate
- OCTET STRING,
- partyPrivPublic
- OCTET STRING
- }
-
-
- For each SnmpParty value that represents a SNMP party, the following
- statements are true:
-
- o Its partyIdentity component is the party identity.
-
- o Its partyTDomain component is called the transport
- domain and indicates the kind of transport service by
- which the party receives network management traffic.
- An example of a transport domain is
- rfc1351Domain (SNMP over UDP, using SNMP
- parties).
-
- o Its partyTAddr component is called the transport
- addressing information and represents a transport
- service address by which the party receives network
- management traffic.
-
- o Its partyProxyFor component is called the proxied
- party and represents the identity of a second SNMP
- party or other management entity with which
- interaction may be necessary to satisfy received
- management requests. In this context, the value
- noProxy signifies that the party responds to received
- management requests by entirely local mechanisms.
-
- o Its partyMaxMessageSize component is called the
- maximum message size and represents the length in
- octets of the largest SNMP message this party is
- prepared to accept.
-
- o Its partyAuthProtocol component is called the
- authentication protocol and identifies a protocol and a
- mechanism by which all messages generated by the party
-
-
-
- Davin, Galvin, & McCloghrie [Page 4]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- are authenticated as to integrity and origin. In this
- context, the value noAuth signifies that messages
- generated by the party are not authenticated as to
- integrity and origin.
-
- o Its partyAuthClock component is called the
- authentication clock and represents a notion of the
- current time that is specific to the party. The
- significance of this component is specific to the
- authentication protocol.
-
- o Its partyAuthLastMsg component is called the
- last-timestamp and represents a notion of time
- associated with the most recent, authentic protocol
- message generated by the party. The significance of this
- component is specific to the authentication protocol.
-
- o Its partyAuthNonce component is called the nonce
- and represents a monotonically increasing integer
- associated with the most recent, authentic protocol
- message generated by the party. The significance of this
- component is specific to the authentication protocol.
-
- o Its partyAuthPrivate component is called the private
- authentication key and represents any secret value
- needed to support the authentication protocol. The
- significance of this component is specific to the
- authentication protocol.
-
- o Its partyAuthPublic component is called the public
- authentication key and represents any public value that
- may be needed to support the authentication protocol.
- The significance of this component is specific to the
- authentication protocol.
-
- o Its partyAuthLifetime component is called the
- lifetime and represents an administrative upper bound
- on acceptable delivery delay for protocol messages
- generated by the party. The significance of this
- component is specific to the authentication protocol.
-
- o Its partyPrivProtocol component is called the privacy
- protocol and identifies a protocol and a mechanism by
- which all protocol messages received by the party are
- protected from disclosure. In this context, the value
- noPriv signifies that messages received by the party are
- not protected from disclosure.
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 5]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- o Its partyPrivPrivate component is called the private
- privacy key and represents any secret value needed to
- support the privacy protocol. The significance of this
- component is specific to the privacy protocol.
-
- o Its partyPrivPublic component is called the public
- privacy key and represents any public value that may be
- needed to support the privacy protocol. The significance
- of this component is specific to the privacy protocol.
-
- If, for all SNMP parties realized by a SNMP protocol entity, the
- authentication protocol is noAuth and the privacy protocol is noPriv,
- then that protocol entity is called non-secure.
-
- 3.2 SNMP Protocol Entity
-
- A SNMP protocol entity is an actual process which performs network
- management operations by generating and/or responding to SNMP
- protocol messages in the manner specified in [1]. When a protocol
- entity is acting as a particular SNMP party (see Section 3.1), the
- operation of that entity must be restricted to the subset of all
- possible operations that is administratively defined for that party.
-
- By definition, the operation of a SNMP protocol entity requires no
- concurrency between processing of any single protocol message (by a
- particular SNMP party) and processing of any other protocol message
- (by a potentially different SNMP party). Accordingly, implementation
- of a SNMP protocol entity to support more than one party need not be
- multi-threaded. However, there may be situations where implementors
- may choose to use multi-threading.
-
- Architecturally, every SNMP entity maintains a local database that
- represents all SNMP parties known to it -- those whose operation is
- realized locally, those whose operation is realized by proxy
- interactions with remote parties or devices, and those whose
- operation is realized by remote entities. In addition, every SNMP
- protocol entity maintains a local database that represents an access
- control policy (see Section 3.11) that defines the access privileges
- accorded to known SNMP parties.
-
- 3.3 SNMP Management Station
-
- A SNMP management station is the operational role assumed by a SNMP
- party when it initiates SNMP management operations by the generation
- of appropriate SNMP protocol messages or when it receives and
- processes trap notifications.
-
- Sometimes, the term SNMP management station is applied to partial
-
-
-
- Davin, Galvin, & McCloghrie [Page 6]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- implementations of the SNMP (in graphics workstations, for example)
- that focus upon this operational role. Such partial implementations
- may provide for convenient, local invocation of management services,
- but they may provide little or no support for performing SNMP
- management operations on behalf of remote protocol users.
-
- 3.4 SNMP Agent
-
- A SNMP agent is the operational role assumed by a SNMP party when it
- performs SNMP management operations in response to received SNMP
- protocol messages such as those generated by a SNMP management
- station (see Section 3.3).
-
- Sometimes, the term SNMP agent is applied to partial implementations
- of the SNMP (in embedded systems, for example) that focus upon this
- operational role. Such partial implementations provide for
- realization of SNMP management operations on behalf of remote users
- of management services, but they may provide little or no support for
- local invocation of such services.
-
- 3.5 View Subtree
-
- A view subtree is the set of all MIB object instances which have a
- common ASN.1 OBJECT IDENTIFIER prefix to their names. A view subtree
- is identified by the OBJECT IDENTIFIER value which is the longest
- OBJECT IDENTIFIER prefix common to all (potential) MIB object
- instances in that subtree.
-
- 3.6 MIB View
-
- A MIB view is a subset of the set of all instances of all object
- types defined according to the Internet-standard SMI [2] (i.e., of
- the universal set of all instances of all MIB objects), subject to
- the following constraints:
-
- o Each element of a MIB view is uniquely named by an
- ASN.1 OBJECT IDENTIFIER value. As such,
- identically named instances of a particular object type
- (e.g., in different agents) must be contained within
- different MIB views. That is, a particular object
- instance name resolves within a particular MIB view to
- at most one object instance.
-
- o Every MIB view is defined as a collection of view
- subtrees.
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 7]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 3.7 SNMP Management Communication
-
- A SNMP management communication is a communication from one specified
- SNMP party to a second specified SNMP party about management
- information that is represented in the MIB view of the appropriate
- party. In particular, a SNMP management communication may be
-
- o a query by the originating party about information in
- the MIB view of the addressed party (e.g., getRequest
- and getNextRequest),
-
- o an indicative assertion to the addressed party about
- information in the MIB view of the originating party
- (e.g., getResponse or trapNotification), or
-
- o an imperative assertion by the originating party about
- information in the MIB view of the addressed party
- (e.g., setRequest).
-
- A management communication is represented by an ASN.1 value with the
- syntax
-
-
- SnmpMgmtCom ::= [1] IMPLICIT SEQUENCE {
- dstParty
- OBJECT IDENTIFIER,
- srcParty
- OBJECT IDENTIFIER,
- pdu
- PDUs
- }
-
-
- For each SnmpMgmtCom value that represents a SNMP management
- communication, the following statements are true:
-
- o Its dstParty component is called the destination and
- identifies the SNMP party to which the communication
- is directed.
-
- o Its srcParty component is called the source and
- identifies the SNMP party from which the
- communication is originated.
-
- o Its pdu component has the form and significance
- attributed to it in [1].
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 8]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 3.8 SNMP Authenticated Management Communication
-
- A SNMP authenticated management communication is a SNMP management
- communication (see Section 3.7) for which the originating SNMP party
- is (possibly) reliably identified and for which the integrity of the
- transmission of the communication is (possibly) protected. An
- authenticated management communication is represented by an ASN.1
- value with the syntax
-
-
- SnmpAuthMsg ::= [1] IMPLICIT SEQUENCE {
- authInfo
- ANY, - defined by authentication protocol
- authData
- SnmpMgmtCom
- }
-
-
- For each SnmpAuthMsg value that represents a SNMP authenticated
- management communication, the following statements are true:
-
- o Its authInfo component is called the authentication
- information and represents information required in
- support of the authentication protocol used by the
- SNMP party originating the message. The detailed
- significance of the authentication information is specific
- to the authentication protocol in use; it has no effect on
- the application semantics of the communication other
- than its use by the authentication protocol in
- determining whether the communication is authentic or
- not.
-
- o Its authData component is called the authentication
- data and represents a SNMP management
- communication.
-
- 3.9 SNMP Private Management Communication
-
- A SNMP private management communication is a SNMP authenticated
- management communication (see Section 3.8) that is (possibly)
- protected from disclosure. A private management communication is
- represented by an ASN.1 value with the syntax
-
-
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 9]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- SnmpPrivMsg ::= [1] IMPLICIT SEQUENCE {
- privDst
- OBJECT IDENTIFIER,
- privData
- [1] IMPLICIT OCTET STRING
- }
-
-
- For each SnmpPrivMsg value that represents a SNMP private management
- communication, the following statements are true:
-
- o Its privDst component is called the privacy destination
- and identifies the SNMP party to which the
- communication is directed.
-
- o Its privData component is called the privacy data and
- represents the (possibly encrypted) serialization
- (according to the conventions of [3] and [1]) of a SNMP
- authenticated management communication (see
- Section 3.8).
-
- 3.10 SNMP Management Communication Class
-
- A SNMP management communication class corresponds to a specific SNMP
- PDU type defined in [1]. A management communication class is
- represented by an ASN.1 INTEGER value according to the type of the
- identifying PDU (see Table 1).
-
- Get 1
- GetNext 2
- GetResponse 4
- Set 8
- Trap 16
-
- Table 1: Management Communication Classes
-
- The value by which a communication class is represented is computed
- as 2 raised to the value of the ASN.1 context-specific tag for the
- appropriate SNMP PDU.
-
- A set of management communication classes is represented by the ASN.1
- INTEGER value that is the sum of the representations of the
- communication classes in that set. The null set is represented by the
- value zero.
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 10]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 3.11 SNMP Access Control Policy
-
- A SNMP access control policy is a specification of a local access
- policy in terms of the network management communication classes which
- are authorized between pairs of SNMP parties. Architecturally, such a
- specification comprises three parts:
-
- o the targets of SNMP access control - the SNMP parties
- that may perform management operations as requested
- by management communications received from other
- parties,
-
- o the subjects of SNMP access control - the SNMP parties
- that may request, by sending management
- communications to other parties, that management
- operations be performed, and
-
- o the policy that specifies the classes of SNMP
- management communications that a particular target is
- authorized to accept from a particular subject.
-
- Access to individual MIB object instances is determined implicitly
- since by definition each (target) SNMP party performs operations on
- exactly one MIB view. Thus, defining the permitted access of a
- (reliably) identified subject party to a particular target party
- effectively defines the access permitted by that subject to that
- target's MIB view and, accordingly, to particular MIB object
- instances.
-
- Conceptually, a SNMP access policy is represented by a collection of
- ASN.1 values with the following syntax:
-
-
- AclEntry ::= SEQUENCE {
- aclTarget
- OBJECT IDENTIFIER,
- aclSubject
- OBJECT IDENTIFIER,
- aclPrivileges
- INTEGER
- }
-
-
- For each such value that represents one part of a SNMP access policy,
- the following statements are true:
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 11]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- o Its aclTarget component is called the target and
- identifies the SNMP party to which the partial policy
- permits access.
-
- o Its aclSubject component is called the subject and
- identifies the SNMP party to which the partial policy
- grants privileges.
-
- o Its aclPrivileges component is called the privileges and
- represents a set of SNMP management communication
- classes that are authorized to be processed by the
- specified target party when received from the specified
- subject party.
-
- 3.12 SNMP Proxy Party
-
- A SNMP proxy party is a SNMP party that performs management
- operations by communicating with another, logically remote party.
-
- When communication between a logically remote party and a SNMP proxy
- party is via the SNMP (over any transport protocol), then the proxy
- party is called a SNMP native proxy party. Deployment of SNMP native
- proxy parties is a means whereby the processing or bandwidth costs of
- management may be amortized or shifted -- thereby facilitating the
- construction of large management systems.
-
- When communication between a logically remote party and a SNMP proxy
- party is not via the SNMP, then the proxy party is called a SNMP
- foreign proxy party. Deployment of foreign proxy parties is a means
- whereby otherwise unmanageable devices or portions of an internet may
- be managed via the SNMP.
-
- The transparency principle that defines the behavior of a SNMP party
- in general applies in particular to a SNMP proxy party:
-
- The manner in which one SNMP party processes
- SNMP protocol messages received from another
- SNMP party is entirely transparent to the latter.
-
- The transparency principle derives directly from the historical SNMP
- philosophy of divorcing architecture from implementation. To this
- dichotomy are attributable many of the most valuable benefits in both
- the information and distribution models of the management framework,
- and it is the architectural cornerstone upon which large management
- systems may be built. Consistent with this philosophy, although the
- implementation of SNMP proxy agents in certain environments may
- resemble that of a transport-layer bridge, this particular
- implementation strategy (or any other!) does not merit special
-
-
-
- Davin, Galvin, & McCloghrie [Page 12]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- recognition either in the SNMP management architecture or in standard
- mechanisms for proxy administration.
-
- Implicit in the transparency principle is the requirement that the
- semantics of SNMP management operations are preserved between any two
- SNMP peers. In particular, the "as if simultaneous" semantics of a
- Set operation are extremely difficult to guarantee if its scope
- extends to management information resident at multiple network
- locations. For this reason, proxy configurations that admit Set
- operations that apply to information at multiple locations are
- discouraged, although such operations are not explicitly precluded by
- the architecture in those rare cases where they might be supported in
- a conformant way.
-
- Also implicit in the transparency principle is the requirement that,
- throughout its interaction with a proxy agent, a management station
- is supplied with no information about the nature or progress of the
- proxy mechanisms by which its requests are realized. That is, it
- should seem to the management station -- except for any distinction
- in underlying transport address -- as if it were interacting via SNMP
- directly with the proxied device. Thus, a timeout in the
- communication between a proxy agent and its proxied device should be
- represented as a timeout in the communication between the management
- station and the proxy agent. Similarly, an error response from a
- proxied device should -- as much as possible -- be represented by the
- corresponding error response in the interaction between the proxy
- agent and management station.
-
- 3.13 Procedures
-
- This section describes the procedures followed by a SNMP protocol
- entity in processing SNMP messages. These procedures are independent
- of the particular authentication and privacy protocols that may be in
- use.
-
- 3.13.1 Generating a Request
-
- This section describes the procedure followed by a SNMP protocol
- entity whenever either a management request or a trap notification is
- to be transmitted by a SNMP party.
-
- 1. An ASN.1 SnmpMgmtCom value is constructed for
- which the srcParty component identifies the originating
- party, for which the dstParty component identifies the
- receiving party, and for which the other component
- represents the desired management operation.
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 13]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 2. The local database is consulted to determine the
- authentication protocol and other relevant information
- for the originating SNMP party.
-
- 3. An ASN.1 SnmpAuthMsg value is constructed with
- the following properties:
-
- o Its authInfo component is constructed according
- to the authentication protocol specified for the
- originating party.
-
- In particular, if the authentication protocol for the
- originating SNMP party is identified as noAuth,
- then this component corresponds to the OCTET
- STRING value of zero length.
-
- o Its authData component is the constructed
- SnmpMgmtCom value.
-
- 4. The local database is consulted to determine the privacy
- protocol and other relevant information for the receiving
- SNMP party.
-
- 5. An ASN.1 SnmpPrivMsg value is constructed with the
- following properties:
-
- o Its privDst component identifies the receiving
- SNMP party.
-
- o Its privData component is the (possibly
- encrypted) serialization of the SnmpAuthMsg
- value according to the conventions of [3] and [1].
-
- In particular, if the privacy protocol for the
- receiving SNMP party is identified as noPriv, then
- the privData component is unencrypted.
- Otherwise, the privData component is processed
- according to the privacy protocol.
-
- 6. The constructed SnmpPrivMsg value is serialized
- according to the conventions of [3] and [1].
-
- 7. The serialized SnmpPrivMsg value is transmitted
- using the transport address and transport domain for
- the receiving SNMP party.
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 14]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 3.13.2 Processing a Received Communication
-
- This section describes the procedure followed by a SNMP protocol
- entity whenever a management communication is received.
-
- 1. If the received message is not the serialization (according
- to the conventions of [3] and [1]) of an ASN.1
- SnmpPrivMsg value, then that message is discarded
- without further processing.
-
- 2. The local database is consulted for information about
- the receiving SNMP party identified by the privDst
- component of the SnmpPrivMsg value.
-
- 3. If information about the receiving SNMP party is absent
- from the local database, or specifies a transport domain
- and address which indicates that the receiving party's
- operation is not realized by the local SNMP protocol
- entity, then the received message is discarded without
- further processing.
-
- 4. An ASN.1 OCTET STRING value is constructed
- (possibly by decryption, according to the privacy
- protocol in use) from the privData component of said
- SnmpPrivMsg value.
-
- In particular, if the privacy protocol recorded for the
- party is noPriv, then the OCTET STRING value
- corresponds exactly to the privData component of the
- SnmpPrivMsg value.
-
- 5. If the OCTET STRING value is not the serialization
- (according to the conventions of [3] and [1]) of an ASN.1
- SnmpAuthMsg value, then the received message is
- discarded without further processing.
-
- 6. If the dstParty component of the authData
- component of the obtained SnmpAuthMsg value is
- not the same as the privDst component of the
- SnmpPrivMsg value, then the received message is
- discarded without further processing.
-
- 7. The local database is consulted for information about
- the originating SNMP party identified by the srcParty
- component of the authData component of the
- SnmpAuthMsg value.
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 15]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 8. If information about the originating SNMP party is
- absent from the local database, then the received
- message is discarded without further processing.
-
- 9. The obtained SnmpAuthMsg value is evaluated
- according to the authentication protocol and other
- relevant information associated with the originating
- SNMP party in the local database.
-
- In particular, if the authentication protocol is identified
- as noAuth, then the SnmpAuthMsg value is always
- evaluated as authentic.
-
- 10. If the SnmpAuthMsg value is evaluated as
- unauthentic, then the received message is discarded
- without further processing, and an authentication failure
- is noted.
-
- 11. The ASN.1 SnmpMgmtCom value is extracted from
- the authData component of the SnmpAuthMsg
- value.
-
- 12. The local database is consulted for access privileges
- permitted by the local access policy to the originating
- SNMP party with respect to the receiving SNMP party.
-
- 13. The management communication class is determined
- from the ASN.1 tag value associated with the
- SnmpMgmtCom value.
-
- 14. If the management communication class of the received
- message is either 16 or 4 (i.e., Trap or GetResponse) and
- this class is not among the access privileges, then the
- received message is discarded without further processing.
-
- 15. If the management communication class of the received
- message is not among the access privileges, then the
- received message is discarded without further processing
- after generation and transmission of a response message.
- This response message is directed to the originating
- SNMP party on behalf of the receiving SNMP party. Its
- var-bind-list and request-id components are identical
- to those of the received request. Its error-index
- component is zero and its error-status component is
- readOnly.
-
- 16. If the proxied party associated with the receiving SNMP
- party in the local database is identified as noProxy,
-
-
-
- Davin, Galvin, & McCloghrie [Page 16]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- then the management operation represented by the
- SnmpMgmtCom value is performed by the receiving
- SNMP protocol entity with respect to the MIB view
- identified with the receiving SNMP party according to
- the procedures set forth in [1].
-
- 17. If the proxied party associated with the receiving SNMP
- party in the local database is not identified as noProxy,
- then the management operation represented by the
- SnmpMgmtCom value is performed through
- appropriate cooperation between the receiving SNMP
- party and the identified proxied party.
-
- In particular, if the transport domain associated with
- the identified proxied party in the local database is
- rfc1351Domain, then the operation requested by
- the received message is performed by the generation of a
- corresponding request to the proxied party on behalf of
- the receiving party. If the received message requires a
- response from the local SNMP protocol entity, then that
- response is subsequently generated from the response (if
- any) received from the proxied party corresponding to
- the newly generated request.
-
- 3.13.3 Generating a Response
-
- This section describes the procedure followed by a SNMP protocol
- entity whenever a response to a management request is generated.
-
- The procedure for generating a response to a SNMP management request
- is identical to the procedure for transmitting a request (see Section
- 3.13.1), except for the derivation of the transport domain and
- address information. In this case, the response is transmitted using
- the transport domain and address from which the corresponding request
- originated -- even if that is different from the transport
- information recorded in the local database.
-
- 4. Application of the Model
-
- This section describes how the administrative model set forth above
- is applied to realize effective network management in a variety of
- configurations and environments. Several types of administrative
- configurations are identified, and an example of each is presented.
-
- 4.1 Non-Secure Minimal Agent Configuration
-
- This section presents an example configuration for a minimal, non-
- secure SNMP agent that interacts with one or more SNMP management
-
-
-
- Davin, Galvin, & McCloghrie [Page 17]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- stations. Table 2 presents information about SNMP parties that is
- known both to the minimal agent and to the manager, while Table 3
- presents similarly common information about the local access policy.
-
- As represented in Table 2, the example agent party operates at UDP
- port 161 at IP address 1.2.3.4 using the party identity gracie; the
- example manager operates at UDP port 2001 at IP address 1.2.3.5 using
- the identity george. At minimum, a non-secure SNMP agent
- implementation must provide for administrative configuration (and
- non-volatile storage) of the identities and transport addresses of
- two SNMP parties: itself and a remote peer. Strictly speaking, other
- information about these two parties (including access policy
- information) need not be configurable.
-
- Suppose that the managing party george wishes to interrogate the
- agent named gracie by issuing a SNMP GetNext request message. The
- manager consults its local database of party information. Because the
- authentication protocol for the party george is recorded as noAuth,
- the GetNext request message generated by the manager is not
-
- Identity gracie george
- (agent) (manager)
- Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 161 1.2.3.5, 2001
- Proxied Party noProxy noProxy
- Auth Prot noAuth noAuth
- Auth Priv Key "" ""
- Auth Pub Key "" ""
- Auth Clock 0 0
- Auth Last Msg 0 0
- Auth Lifetime 0 0
- Priv Prot noPriv noPriv
- Priv Priv Key "" ""
- Priv Pub Key "" ""
-
- Table 2: Party Information for Minimal Agent
-
-
-
- Target Subject Privileges
- gracie george 3
- george gracie 20
-
- Table 3: Access Information for Minimal Agent
-
- authenticated as to origin and integrity. Because, according to the
- manager's database, the privacy protocol for the party gracie is
- noPriv, the GetNext request message is not protected from disclosure.
-
-
-
- Davin, Galvin, & McCloghrie [Page 18]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Rather, it is simply assembled, serialized, and transmitted to the
- transport address (IP address 1.2.3.4, UDP port 161) associated in
- the manager's database with the party gracie.
-
- When the GetNext request message is received at the agent, the
- identity of the party to which it is directed (gracie) is extracted
- from the message, and the receiving protocol entity consults its
- local database of party information. Because the privacy protocol for
- the party gracie is recorded as noPriv, the received message is
- assumed not to be protected from disclosure. Similarly, the identity
- of the originating party (george) is extracted, and the local party
- database is consulted. Because the authentication protocol for the
- party george is recorded as noAuth, the received message is
- immediately accepted as authentic.
-
- The received message is fully processed only if the access policy
- database local to the agent authorizes GetNext request communications
- by the party george with respect to the agent party gracie. The
- access policy database presented as Table 3 authorizes such
- communications (as well as Get operations).
-
- When the received request is processed, a GetResponse message is
- generated with gracie as the source party and george, the party from
- which the request originated, as the destination party. Because the
- authentication protocol for gracie is recorded in the local party
- database as noAuth, the generated GetResponse message is not
- authenticated as to origin or integrity. Because, according to the
- local database, the privacy protocol for the party george is noPriv,
- the response message is not protected from disclosure. The response
- message is transmitted to the transport address from which the
- corresponding request originated -- without regard for the transport
- address associated with george in the local database.
-
- When the generated response is received by the manager, the identity
- of the party to which it is directed (george) is extracted from the
- message, and the manager consults its local database of party
- information. Because the privacy protocol for the party george is
- recorded as noPriv, the received response is assumed not to be
- protected from disclosure. Similarly, the identity of the originating
- party (gracie) is extracted, and the local party database is
- consulted. Because the authentication protocol for the party gracie
- is recorded as noAuth, the received response is immediately accepted
- as authentic.
-
- The received message is fully processed only if the access policy
- database local to the manager authorizes GetResponse communications
- by the party gracie with respect to the manager party george. The
- access policy database presented as Table 3 authorizes such response
-
-
-
- Davin, Galvin, & McCloghrie [Page 19]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- messages (as well as Trap messages).
-
- 4.2 Secure Minimal Agent Configuration
-
- This section presents an example configuration for a secure, minimal
- SNMP agent that interacts with a single SNMP management station.
- Table 4 presents information about SNMP parties that is known both to
- the minimal agent and to the manager, while Table 5 presents
- similarly common information about the local access policy.
-
- The interaction of manager and agent in this configuration is very
- similar to that sketched above for the non-secure minimal agent --
- except that all protocol messages are authenticated as to origin and
- integrity and protected from disclosure. This example requires
- encryption in order to support distribution of secret keys via the
- SNMP itself. A more elaborate example comprising an additional pair
- of SNMP parties could support the exchange of non-secret information
- in authenticated messages without incurring the cost of encryption.
-
- An actual secure agent configuration may require SNMP parties for
- which the authentication and privacy protocols are noAuth and noPriv,
- respectively, in order to support clock synchronization (see [4]).
- For clarity, these additional parties are not represented in this
- example.
-
- Identity ollie stan
- (agent) (manager)
- Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 161 1.2.3.5, 2001
- Proxied Party noProxy noProxy
- Auth Prot md5AuthProtocol md5AuthProtocol
- Auth Priv Key "0123456789ABCDEF" "GHIJKL0123456789"
- Auth Pub Key "" ""
- Auth Clock 0 0
- Auth Last Msg 0 0
- Auth Lifetime 500 500
- Priv Prot desPrivProtocol desPrivProtocol
- Priv Priv Key "MNOPQR0123456789" "STUVWX0123456789"
- Priv Pub Key "" ""
-
- Table 4: Party Information for Secure Minimal Agent
-
-
- Target Subject Privileges
- ollie stan 3
- stan ollie 20
-
- Table 5: Access Information for Secure Minimal Agent
-
-
-
- Davin, Galvin, & McCloghrie [Page 20]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- As represented in Table 4, the example agent party operates at UDP
- port 161 at IP address 1.2.3.4 using the party identity ollie; the
- example manager operates at UDP port 2001 at IP address 1.2.3.5 using
- the identity stan. At minimum, a secure SNMP agent implementation
- must provide for administrative configuration (and non-volatile
- storage) of relevant information about two SNMP parties: itself and a
- remote peer. Both ollie and stan authenticate all messages that they
- generate by using the SNMP authentication protocol md5AuthProtocol
- and their distinct, private authentication keys. Although these
- private authentication key values ("0123456789ABCDEF" and
- "GHIJKL0123456789") are presented here for expository purposes,
- knowledge of private authentication keys is not normally afforded to
- human beings and is confined to those portions of the protocol
- implementation that require it.
-
- When using the md5AuthProtocol, the public authentication key for
- each SNMP party is never used in authentication and verification of
- SNMP exchanges. Also, because the md5AuthProtocol is symmetric in
- character, the private authentication key for each party must be
- known to another SNMP party with which authenticated communication is
- desired. In contrast, asymmetric (public key) authentication
- protocols would not depend upon sharing of a private key for their
- operation.
-
- All protocol messages originated by the party stan are encrypted on
- transmission using the desPrivProtocol privacy protocol and the
- private key "STUVWX0123456789"; they are decrypted upon reception
- according to the same protocol and key. Similarly, all messages
- originated by the party ollie are encrypted on transmission using the
- desPrivProtocol protocol and private privacy key "MNOPQR0123456789";
- they are correspondingly decrypted on reception. As with
- authentication keys, knowledge of private privacy keys is not
- normally afforded to human beings and is confined to those portions
- of the protocol implementation that require it.
-
- 4.3 Proxy Configuration
-
- This section presents examples of SNMP proxy configurations. On one
- hand, foreign proxy configurations provide the capability to manage
- non-SNMP devices. On the other hand, native proxy configurations
- allow an administrator to shift the computational burden of rich
- management functionality away from network devices whose primary task
- is not management. To the extent that SNMP proxy agents function as
- points of aggregation for management information, proxy
- configurations may also reduce the bandwidth requirements of large-
- scale management activities.
-
- The example configurations in this section are simplified for
-
-
-
- Davin, Galvin, & McCloghrie [Page 21]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- clarity: actual configurations may require additional parties in
- order to support clock synchronization and distribution of secrets.
-
- 4.3.1 Foreign Proxy Configuration
-
- This section presents an example configuration by which a SNMP
- management station may manage network elements that do not themselves
- support the SNMP. This configuration centers on a SNMP proxy agent
- that realizes SNMP management operations by interacting with a non-
- SNMP device using a proprietary protocol.
-
- Table 6 presents information about SNMP parties that is recorded in
- the local database of the SNMP proxy agent. Table 7 presents
- information about SNMP parties that is recorded in the local database
- of the SNMP management station. Table 8 presents information about
- the access policy specified by the local administration.
-
- As represented in Table 6, the proxy agent party operates at UDP port
- 161 at IP address 1.2.3.5 using the party identity moe; the example
- manager operates at UDP port 2002 at IP address 1.2.3.4 using the
- identity larry. Both larry and moe authenticate all messages that
- they generate by using the protocol md5AuthProtocol and their
- distinct, private authentication keys. Although these private
- authentication key values ("0123456789ABCDEF" and
-
- Identity larry moe curly
- (manager) (proxy) (proxied)
- Domain rfc1351Domain rfc1351Domain acmeMgmtPrtcl
- Address 1.2.3.4, 2002 1.2.3.5, 161 0x98765432
- Proxied Party noProxy curly noProxy
- Auth Prot md5AuthProtocol md5AuthProtocol noAuth
- Auth Priv Key "0123456789ABCDEF" "GHIJKL0123456789" ""
- Auth Pub Key "" "" ""
- Auth Clock 0 0 0
- Auth Last Msg 0 0 0
- Auth Lifetime 500 500 0
- Priv Prot noPriv noPriv noPriv
- Priv Priv Key "" "" ""
- Priv Pub Key "" "" ""
-
- Table 6: Party Information for Proxy Agent
-
-
-
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 22]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Identity larry moe
- (manager) (proxy)
- Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 2002 1.2.3.5, 161
- Proxied Party noProxy noProxy
- Auth Prot md5AuthProtocol md5AuthProtocol
- Auth Priv Key "0123456789ABCDEF" "GHIJKL0123456789"
- Auth Pub Key "" ""
- Auth Clock 0 0
- Auth Last Msg 0 0
- Auth Lifetime 500 500
- Priv Prot noPriv noPriv
- Priv Priv Key "" ""
- Priv Pub Key "" ""
-
- Table 7: Party Information for Management Station
-
-
-
- Target Subject Privileges
- moe larry 3
- larry moe 20
-
- Table 8: Access Information for Foreign Proxy
-
- "GHIJKL0123456789") are presented here for expository purposes,
- knowledge of private keys is not normally afforded to human beings
- and is confined to those portions of the protocol implementation that
- require it.
-
- Although all SNMP agents that use cryptographic keys in their
- communication with other protocol entities will almost certainly
- engage in private SNMP exchanges to distribute those keys, in order
- to simplify this example, neither the management station nor the
- proxy agent sends or receives private SNMP communications. Thus, the
- privacy protocol for each of them is recorded as noPriv.
-
- The party curly does not send or receive SNMP protocol messages;
- rather, all communication with that party proceeds via a hypothetical
- proprietary protocol identified by the value acmeMgmtPrtcl. Because
- the party curly does not participate in the SNMP, many of the
- attributes recorded for that party in a local database are ignored.
-
- In order to interrogate the proprietary device associated with the
- party curly, the management station larry constructs a SNMP GetNext
- request and transmits it to the party moe operating (see Table 7) at
- UDP port 161, and IP address 1.2.3.5. This request is authenticated
- using the private authentication key "0123456789ABCDEF."
-
-
-
- Davin, Galvin, & McCloghrie [Page 23]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- When that request is received by the party moe, the originator of the
- message is verified as being the party larry by using local knowledge
- (see Table 6) of the private authentication key "0123456789ABCDEF."
- Because party larry is authorized to issue GetNext requests with
- respect to party moe by the relevant access control policy (Table 8),
- the request is accepted. Because the local database records the
- proxied party for party moe as curly, the request is satisfied by its
- translation into appropriate operations of the acmeMgmtPrtcl directed
- at party curly. These new operations are transmitted to the party
- curly at the address 0x98765432 in the acmeMgmtPrtcl domain.
-
- When and if the proprietary protocol exchange between the proxy agent
- and the proprietary device concludes, a SNMP GetResponse management
- operation is constructed by the SNMP party moe to relay the results
- to party larry. This response communication is authenticated as to
- origin and integrity using the authentication protocol
- md5AuthProtocol and private authentication key "GHIJKL0123456789"
- specified for transmissions from party moe. It is then transmitted to
- the SNMP party larry operating at the management station at IP
- address 1.2.3.4 and UDP port 2002 (the source address for the
- corresponding request).
-
- When this response is received by the party larry, the originator of
- the message is verified as being the party moe by using local
- knowledge (see Table 7) of the private authentication key
- "GHIJKL0123456789." Because party moe is authorized to issue
- GetResponse communications with respect to party larry by the
- relevant access control policy (Table 8), the response is accepted,
- and the interrogation of the proprietary device is complete.
-
- It is especially useful to observe that the database of SNMP parties
- recorded at the proxy agent (Table 6) need be neither static nor
- configured exclusively by the management station. For instance,
- suppose that, in this example, the acmeMgmtPrtcl was a proprietary,
- MAC-layer mechanism for managing stations attached to a local area
- network. In such an environment, the SNMP party moe would reside at a
- SNMP proxy agent attached to such a LAN and could, by participating
- in the LAN protocols, detect the attachment and disconnection of
- various stations on the LAN. In this scenario, the SNMP proxy agent
- could easily adjust its local database of SNMP parties to support
- indirect management of the LAN stations by the SNMP management
- station. For each new LAN station detected, the SNMP proxy agent
- would add to its database both an entry analogous to that for party
- curly (representing the new LAN station itself) and an entry
- analogous to that for party moe (representing a proxy for that new
- station in the SNMP domain).
-
- By using the SNMP to interrogate the database of parties held locally
-
-
-
- Davin, Galvin, & McCloghrie [Page 24]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- by the SNMP proxy agent, a SNMP management station can discover and
- interact with new stations as they are attached to the LAN.
-
- 4.3.2 Native Proxy Configuration
-
- This section presents an example configuration that supports SNMP
- native proxy operations -- indirect interaction between a SNMP agent
- and a management station that is mediated by a second SNMP (proxy)
- agent.
-
- This example configuration is similar to that presented in the
- discussion of SNMP foreign proxy above. In this example, however, the
- party associated with the identity curly receives messages via the
- SNMP, and, accordingly interacts with the SNMP proxy agent moe using
- authenticated SNMP communications.
-
- Table 9 presents information about SNMP parties that is recorded in
- the local database of the SNMP proxy agent. Table 7 presents
- information about SNMP parties that is recorded in the local database
- of the SNMP management station. Table 10 presents information about
- the access policy specified by the local administration.
-
- As represented in Table 9, the proxy party operates at UDP port 161
- at IP address 1.2.3.5 using the party identity moe;
-
- Identity larry moe curly
- (manager) (proxy) (proxied)
- Domain rfc1351Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 2002 1.2.3.5, 161 1.2.3.6, 16
- Proxied Party noProxy curly noProxy
- Auth Prot md5AuthProtocol md5AuthProtocol md5AuthProtocol
- Auth Priv Key "0123456789ABCDEF" "GHIJKL0123456789" "MNOPQR0123456789"
- Auth Pub Key "" "" ""
- Auth Clock 0 0 0
- Auth Last Msg 0 0 0
- Auth Lifetime 500 500 500
- Priv Prot noPriv noPriv noPriv
- Priv Priv Key "" "" ""
- Priv Pub Key "" "" ""
-
- Table 9: Party Information for Proxy Agent
-
-
-
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 25]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Target Subject Privileges
- moe larry 3
- larry moe 20
- curly moe 3
- moe curly 20
-
- Table 10: Access Information for Native Proxy
-
- the example manager operates at UDP port 2002 at IP address 1.2.3.4
- using the identity larry; the proxied party operates at UDP port 161
- at IP address 1.2.3.6 using the party identity curly. Messages
- generated by all three SNMP parties are authenticated as to origin
- and integrity by using the authentication protocol md5AuthProtocol
- and distinct, private authentication keys. Although these private key
- values ("0123456789ABCDEF," "GHIJKL0123456789," and
- "MNOPQR0123456789") are presented here for expository purposes,
- knowledge of private keys is not normally afforded to human beings
- and is confined to those portions of the protocol implementation that
- require it.
-
- In order to interrogate the proxied device associated with the party
- curly, the management station larry constructs a SNMP GetNext request
- and transmits it to the party moe operating (see Table 7) at UDP port
- 161 and IP address 1.2.3.5. This request is authenticated using the
- private authentication key "0123456789ABCDEF."
-
- When that request is received by the party moe, the originator of the
- message is verified as being the party larry by using local knowledge
- (see Table 9) of the private authentication key "0123456789ABCDEF."
- Because party larry is authorized to issue GetNext (and Get) requests
- with respect to party moe by the relevant access control policy
- (Table 10), the request is accepted. Because the local database
- records the proxied party for party moe as curly, the request is
- satisfied by its translation into a corresponding SNMP GetNext
- request directed from party moe to party curly. This new
- communication is authenticated using the private authentication key
- "GHIJKL0123456789" and transmitted to party curly at the IP address
- 1.2.3.6.
-
- When this new request is received by the party curly, the originator
- of the message is verified as being the party moe by using local
- knowledge (see Table 9) of the private authentication key
- "GHIJKL0123456789." Because party moe is authorized to issue GetNext
- (and Get) requests with respect to party curly by the relevant access
- control policy (Table 10), the request is accepted. Because the local
- database records the proxied party for party curly as noProxy, the
- GetNext request is satisfied by local mechanisms. A SNMP GetResponse
- message representing the results of the query is then generated by
-
-
-
- Davin, Galvin, & McCloghrie [Page 26]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- party curly. This response communication is authenticated as to
- origin and integrity using the private authentication key
- "MNOPQR0123456789" and transmitted to party moe at IP address 1.2.3.5
- (the source address for the corresponding request).
-
- When this response is received by party moe, the originator of the
- message is verified as being the party curly by using local knowledge
- (see Table 9) of the private authentication key "MNOPQR0123456789."
- Because party curly is authorized to issue GetResponse communications
- with respect to party moe by the relevant access control policy
- (Table 10), the response is not rejected. Instead, it is translated
- into a response to the original GetNext request from party larry.
- This response is authenticated as to origin and integrity using the
- private authentication key "GHIJKL0123456789" and is transmitted to
- the party larry at IP address 1.2.3.4 (the source address for the
- original request).
-
- When this response is received by the party larry, the originator of
- the message is verified as being the party moe by using local
- knowledge (see Table 7) of the private authentication key
- "GHIJKL0123456789." Because party moe is authorized to issue
- GetResponse communications with respect to party larry by the
- relevant access control policy (Table 10), the response is accepted,
- and the interrogation is complete.
-
- 4.4 Public Key Configuration
-
- This section presents an example configuration predicated upon a
- hypothetical security protocol. This hypothetical protocol would be
- based on asymmetric (public key) cryptography as a means for
- providing data origin authentication (but not protection against
- disclosure). This example illustrates the consistency of the
- administrative model with public key technology, and the extension of
- the example to support protection against disclosure should be
- apparent.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 27]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Identity ollie stan
- (agent) (manager)
- Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 161 1.2.3.5, 2004
- Proxied Party noProxy noProxy
- Auth Prot pkAuthProtocol pkAuthProtocol
- Auth Priv Key "0123456789ABCDEF" ""
- Auth Pub Key "" "ghijkl0123456789"
- Auth Clock 0 0
- Auth Last Msg 0 0
- Auth Lifetime 500 500
- Priv Prot noPriv noPriv
- Priv Priv Key "" ""
- Priv Pub Key "" ""
-
- Table 11: Party Information for Public Key Agent
-
- The example configuration comprises a single SNMP agent that
- interacts with a single SNMP management station. Tables 11 and 12
- present information about SNMP parties that is by the agent and
- manager, respectively, while Table 5 presents information about the
- local access policy that is known to both manager and agent.
-
- As represented in Table 11, the example agent party operates at UDP
- port 161 at IP address 1.2.3.4 using the party identity ollie; the
- example manager operates at UDP port 2004 at IP address 1.2.3.5 using
- the identity stan. Both ollie and stan authenticate all messages that
- they generate as to origin and integrity by using the hypothetical
- SNMP authentication protocol pkAuthProtocol and their distinct,
- private
-
- Identity ollie stan
- (agent) (manager)
- Domain rfc1351Domain rfc1351Domain
- Address 1.2.3.4, 161 1.2.3.5, 2004
- Proxied Party noProxy noProxy
- Auth Prot pkAuthProtocol pkAuthProtocol
- Auth Priv Key "" "GHIJKL0123456789"
- Auth Pub Key "0123456789abcdef" ""
- Auth Clock 0 0
- Auth Last Msg 0 0
- Auth Lifetime 500 500
- Priv Prot noPriv noPriv
- Priv Priv Key "" ""
- Priv Pub Key "" ""
-
- Table 12: Party Information for Public Key Management
- Station
-
-
-
- Davin, Galvin, & McCloghrie [Page 28]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- authentication keys. Although these private authentication key values
- ("0123456789ABCDEF" and "GHIJKL0123456789") are presented here for
- expository purposes, knowledge of private keys is not normally
- afforded to human beings and is confined to those portions of the
- protocol implementation that require it.
-
- In most respects, the interaction between manager and agent in this
- configuration is almost identical to that in the example of the
- minimal, secure SNMP agent described above. The most significant
- difference is that neither SNMP party in the public key configuration
- has knowledge of the private key by which the other party
- authenticates its transmissions. Instead, for each received
- authenticated SNMP communication, the identity of the originator is
- verified by applying an asymmetric cryptographic algorithm to the
- received message together with the public authentication key for the
- originating party. Thus, in this configuration, the agent knows the
- manager's public key ("ghijkl0123456789") but not its private key
- ("GHIJKL0123456789"); similarly, the manager knows the agent's public
- key ("0123456789abcdef") but not its private key
- ("0123456789ABCDEF").
-
- For simplicity, privacy protocols are not addressed in this example
- configuration, although their use would be necessary to the secure,
- automated distribution of secret keys.
-
- 4.5 MIB View Configurations
-
- This section describes a convention for the definition of MIB views
- and, using that convention, presents example configurations of MIB
- views for SNMP parties.
-
- A MIB view is defined by a collection of view subtrees (see Section
- 3.6), and any MIB view may be represented in this way. Because MIB
- view definitions may, in certain cases, comprise a very large number
- of view subtrees, a convention for abbreviating MIB view definitions
- is desirable.
-
- The convention adopted in [5] supports abbreviation of MIB view
- definitions in terms of families of view subtrees that are either
- included in or excluded from the definition of the relevant MIB view.
- By this convention, a table locally maintained by each SNMP entity
- defines the MIB view associated with each SNMP party realized by that
- entity. Each entry in the table represents a family of view subtrees
- that (according to the status of that entry) is either included in or
- excluded from the MIB view of some SNMP party. Each table entry
- represents a subtree family as a pairing of an OBJECT IDENTIFIER
- value (called the family name) together with a bitstring value
- (called the family mask). The family mask indicates which
-
-
-
- Davin, Galvin, & McCloghrie [Page 29]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- subidentifiers of the associated family name are significant to the
- definition of the represented subtree family. For each possible MIB
- object instance, that instance belongs to the view subtree family
- represented by a particular table entry if
-
- o the OBJECT IDENTIFIER name of that MIB
- object instance comprises at least as many subidentifiers
- as does the family name for said table entry, and
-
- o each subidentifier in the name of said MIB object
- instance matches the corresponding subidentifier of the
- relevant family name whenever the corresponding bit of
- the associated family mask is non-zero.
-
- The appearance of a MIB object instance in the MIB view for a
- particular SNMP party is related to the membership of that instance
- in the subtree families associated with that party in local table
- entries:
-
- o If a MIB object instance belongs to none of the relevant
- subtree families, then that instance is not in the MIB
- view for the relevant SNMP party.
-
- o If a MIB object instance belongs to the subtree family
- represented by exactly one of the relevant table entries,
- then that instance is included in, or excluded from, the
- relevant MIB view according to the status of that entry.
-
- o If a MIB object instance belongs to the subtree families
- represented by more than one of the relevant table
- entries, then that instance is included in, or excluded
- from, the relevant MIB view according to the status of
- the single such table entry for which, first, the associated
- family name comprises the greatest number of
- subidentifiers, and, second, the associated family name is
- lexicographically greatest.
-
- The subtree family represented by a table entry for which the
- associated family mask is all ones corresponds to the single view
- subtree identified by the family name for that entry. Because the
- convention of [5] provides for implicit extension of family mask
- values with ones, the subtree family represented by a table entry
- with a family mask of zero length always corresponds to a single view
- subtree.
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 30]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Party Identity Status Family Name Family Mask
- lucy include internet ""h
-
- Table 13: View Definition for Minimal Agent
-
- Using this convention for abbreviating MIB view definitions, some of
- the most common definitions of MIB views may be conveniently
- expressed. For example, Table 13 illustrates the MIB view definitions
- required for a minimal SNMP entity that locally realizes a single
- SNMP party for which the associated MIB view embraces all instances
- of all MIB objects defined within the internet network management
- framework. The represented table has a single entry. The SNMP party
- (lucy) for which that entry defines the MIB view is identified in the
- first column. The status of that entry (include) signifies that any
- MIB object instance belonging to the subtree family represented by
- that entry may appear in the MIB view for party lucy. The family name
- for that entry is internet, and the zero-length family mask value
- signifies that the relevant subtree family corresponds to the single
- view subtree rooted at that node.
-
- Another example of MIB view definition (see Table 14) is that of a
- SNMP protocol entity that locally realizes multiple SNMP parties with
- distinct MIB views. The MIB view associated with the party lucy
- comprises all instances of all MIB objects defined within the
- internet network management framework, except those pertaining to the
- administration of SNMP parties. In contrast, the MIB view attributed
- to the party ricky contains only MIB object instances defined in the
- system group of the internet-standard MIB together with those object
- instances by which SNMP parties are administered.
-
- A more complicated example of MIB view configuration illustrates the
- abbreviation of related collections of view subtrees by view subtree
- families (see Table 15). In this
-
-
- Party Identity Status Family Name Family Mask
- lucy include internet ""h
- lucy exclude snmpParties ""h
- ricky include system ""h
- ricky include snmpParties ""h
-
- Table 14: View Definition for Multiple Parties
-
- example, the MIB view associated with party lucy includes all object
- instances in the system group of the internet-standard MIB together
- with some information related to the second network interface
- attached to the managed device. However, this interface-related
- information does not include the speed of the interface. The family
-
-
-
- Davin, Galvin, & McCloghrie [Page 31]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- mask value "FFA0"h in the second table entry signifies that a MIB
- object instance belongs to the relevant subtree family if the initial
- prefix of its name places it within the ifEntry portion of the
- registration hierarchy and if the eleventh subidentifier of its name
- is 2. The MIB object instance representing the speed of the second
- network interface belongs to the subtree families represented by both
- the second and third entries of the table, but that particular
- instance is excluded from the MIB view for party lucy because the
- lexicographically greater of the relevant family names appears in the
- table entry with status exclude.
-
- The MIB view for party ricky is also defined in this example. The
- MIB view attributed to the party ricky includes all object instances
- in the icmp group of the internet-standard MIB, together with all
- information relevant to the fifth network interface attached to the
- managed device. In addition, the MIB view attributed to party ricky
- includes the number of octets received on the fourth attached network
- interface.
-
- While, as suggested by the examples above, a wide range of MIB view
- configurations are efficiently supported by the abbreviated
- representation of [5], prudent MIB design can sometimes further
- reduce the size and complexity of the most
-
-
- Party Identity Status Family Name Family Mask
- lucy include system ""h
- lucy include { ifEntry 0 2 } "FFA0"h
- lucy exclude { ifSpeed 2 } ""h
- ricky include icmp ""h
- ricky include { ifEntry 0 5 } "FFA0"h
- ricky include { ifInOctets 4 } ""h
-
- Table 15: More Elaborate View Definitions
-
- likely MIB view definitions. On one hand, it is critical that
- mechanisms for MIB view configuration impose no absolute constraints
- either upon the access policies of local administrations or upon the
- structure of MIB namespaces; on the other hand, where the most common
- access policies are known, the configuration costs of realizing those
- policies may be slightly reduced by assigning to distinct portions of
- the registration hierarchy those MIB objects for which local policies
- most frequently require distinct treatment. The relegation in [5] of
- certain objects to a distinct arc in the MIB namespace is an example
- of this kind of optimization.
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 32]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 5. Compatibility
-
- Ideally, all SNMP management stations and agents would communicate
- exclusively using the secure facilities described in this memo. In
- reality, many SNMP agents may implement only the insecure SNMP
- mechanisms described in [1] for some time to come.
-
- New SNMP agent implementations should never implement both the
- insecure mechanisms of [1] and the facilities described here. Rather,
- consistent with the SNMP philosophy, the burden of supporting both
- sorts of communication should fall entirely upon managers. Perhaps
- the best way to realize both old and new modes of communication is by
- the use of a SNMP proxy agent deployed locally on the same system
- with a management station implementation. The management station
- implementation itself operates exclusively by using the newer, secure
- modes of communication, and the local proxy agent translates the
- requests of the manager into older, insecure modes as needed.
-
- It should be noted that proxy agent implementations may require
- additional information beyond that described in this memo in order to
- accomplish the requisite translation tasks implicit in the definition
- of the proxy function. This information could easily be retrieved
- from a filestore.
-
- 6. Security Considerations
-
- It is important to note that, in the example configuration for native
- proxy operations presented in this memo, the use of symmetric
- cryptography does not securely prevent direct communication between
- the SNMP management station and the proxied SNMP agent.
-
- While secure isolation of the management station and the proxied
- agent can, according to the administrative model set forth in this
- memo, be realized using symmetric cryptography, the required
- configuration is more complex and is not described in this memo.
- Rather, it is recommended that native proxy configurations that
- require secure isolation of management station from proxied agent be
- implemented using security protocols based on asymmetric (or "public
- key") cryptography. However, no SNMP security protocols based on
- asymmetric cryptography are currently defined.
-
- In order to participate in the administrative model set forth in this
- memo, SNMP implementations must support local, non-volatile storage
- of the local party database. Accordingly, every attempt has been made
- to minimize the amount of non-volatile storage required.
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 33]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- 7. References
-
- [1] Case, J., M. Fedor, M. Schoffstall, and J. Davin, The Simple
- Network Management Protocol", RFC 1157, University of Tennessee
- at Knoxville, Performance Systems International, Performance
- Systems International, and the MIT Laboratory for Computer
- Science, May 1990. (Obsoletes RFC 1098.)
-
- [2] Rose, M., and K. McCloghrie, "Structure and Identification of
- Management Information for TCP/IP based internets", RFC 1155,
- Performance Systems International, Hughes LAN Systems, May 1990.
- (Obsoletes RFC 1065.)
-
- [3] Information Processing -- Open Systems Interconnection --
- Specification of Basic Encoding Rules for Abstract Syntax
- Notation One (ASN.1), International Organization for
- Standardization/International Electrotechnical Institute, 1987,
- International Standard 8825.
-
- [4] Galvin, J., McCloghrie, K., and J. Davin, "SNMP Security
- Protocols", RFC 1352, Trusted Information Systems, Inc., Hughes
- LAN Systems, Inc., MIT Laboratory for Computer Science, July
- 1992.
-
- [5] McCloghrie, K., Davin, J., and J. Galvin, "Definitions of Managed
- Objects for Administration of SNMP Parties", RFC 1353, Hughes LAN
- Systems, Inc., MIT Laboratory for Computer Science, Trusted
- Information Systems, Inc., July 1992.
-
- 8. Authors' Addresses
-
- James R. Davin
- MIT Laboratory for Computer Science
- 545 Technology Square
- Cambridge, MA 02139
-
- Phone: (617) 253-6020
- EMail: jrd@ptt.lcs.mit.edu
-
-
- James M. Galvin
- Trusted Information Systems, Inc.
- 3060 Washington Road, Route 97
- Glenwood, MD 21738
-
- Phone: (301) 854-6889
- EMail: galvin@tis.com
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 34]
-
- RFC 1351 SNMP Administrative Model July 1992
-
-
- Keith McCloghrie
- Hughes LAN Systems, Inc.
- 1225 Charleston Road
- Mountain View, CA 94043
-
- Phone: (415) 966-7934
- EMail: kzm@hls.com
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Davin, Galvin, & McCloghrie [Page 35]
-
-